constructive algorithms dp greedy implementation strings

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define ll long long int
int main(){
ll t;
cin>>t;
while(t--){
    ll n,k,m;
    cin>>n >>k >>m;
    string s;
    cin>>s;
    set<char>s1;
    ll count=0;
    ll j=0;
    string w="";
    for(ll i=0;i<m;i++){
      s1.insert(s[i]);
      if(s1.size()==k){
        count++;
        s1.clear();
        w+=s[i];
      }
    }
    // cout<<s.size()<<endl;
    if(count>=n){
      cout<<"YES"<<endl;
    }
    else{
      cout<<"NO"<<endl;
    // we will constuct string of length n
    cout<<w;
    char c;
    for(ll i=97;i<(97+k);i++){
      bool ok=false;
      if(s1.find((char)i)==s1.end()){
          c=(char)i;
          ok=true;
          break;
      }
      
      if(ok){
        break;
      }
      
    }
    for(ll i=1;i<=(n-w.size());i++){
       cout<<c;
    }
    cout<<endl;
   }
}
}


Comments

Submit
0 Comments
More Questions

978B - File Name
1426B - Symmetric Matrix
732B - Cormen --- The Best Friend Of a Man
1369A - FashionabLee
1474B - Different Divisors
1632B - Roof Construction
388A - Fox and Box Accumulation
451A - Game With Sticks
768A - Oath of the Night's Watch
156C - Cipher
545D - Queue
459B - Pashmak and Flowers
1538A - Stone Game
1454C - Sequence Transformation
165B - Burning Midnight Oil
17A - Noldbach problem
1350A - Orac and Factors
1373A - Donut Shops
26A - Almost Prime
1656E - Equal Tree Sums
1656B - Subtract Operation
1656A - Good Pairs
1367A - Short Substrings
87A - Trains
664A - Complicated GCD
1635D - Infinite Set
1462A - Favorite Sequence
1445B - Elimination
1656C - Make Equal With Mod
567A - Lineland Mail